﻿#include <iostream>
#include <list>
using namespace std;

int main() {
    list<int> l = {10, 20, 30};
    // 1. 添加元素
    l.push_back(40);   // 尾部添加
    l.push_front(5);   // 头部添加
    // 2. 遍历元素
    for (auto it = l.begin(); it != l.end(); ++it) {
        cout << *it << " ";
    }
    cout << endl;
    // 3. 删除元素
    l.pop_back();    // 删除末尾元素
    l.pop_front();   // 删除头部元素
    // 4. 插入元素：在第二个元素后插入 25
    auto it = l.begin();
    ++it;
    l.insert(it, 25);
    // 5. 删除指定位置元素
    l.erase(it); // 删除原第二个元素（20）
    // 6. 反转 & 排序
    l.reverse(); // 翻转链表
    l.sort();    // 升序排序
    // 7. 清空
    l.clear();
    return 0;
}
